Method and apparatus for composing spatio-temporal patterns of neurostimulation for cumulative effects

ABSTRACT

An example of a system for programming a neurostimulator may include a storage device and a pattern generator. The storage device may store a pattern library and one or more neuronal network models. The pattern library may include fields and waveforms of neuromodulation. The one or more neuronal network models may each be configured to allow for evaluating effects of one or more fields in combination with one or more waveforms in treating one or more indications for neuromodulation. The pattern generator may be configured to construct and approximately optimize a spatio-temporal pattern of neurostimulation and/or its building blocks using at least one neuronal network model. The spatio-temporal pattern of neurostimulation may include a series of sub-patterns for treating an indication of the one or more indications for neuromodulation.

CLAIM OF PRIORITY

This application claims the benefit of priority under 35 U.S.C. § 119(e)of U.S. Provisional Patent Application Ser. No. 62/361,862, filed onJul. 13, 2016 and U.S. Provisional Patent Application Ser. No.62/273,062, filed on Dec. 30, 2015, which are incorporated by referencein their entirety.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to commonly assigned U.S. Provisional PatentApplication Ser. No. 62/361,847, entitled “METHOD AND APPARATUS FORCOMPOSING SPATIO-TEMPORAL PATTERNS OF NEUROSTIMULATION USING A NEURONALNETWORK MODEL”, filed on Jul. 13, 2016; U.S. Provisional PatentApplication Ser. No. 62/361,872, entitled “METHOD AND APPARATUS FOROPTIMIZING SPATIO-TEMPORAL PATTERNS OF NEUROSTIMULATION FOR VARYINGCONDITIONS”, filed on Jul. 13, 2016; U.S. Provisional Patent ApplicationSer. No. 62/361,880, entitled “METHOD AND APPARATUS FOR GUIDEDOPTIMIZATION OF SPATIO-TEMPORAL PATTERNS OF NEUROSTIMULATION”, filed onJul. 13, 2016; and U.S. Provisional Patent Application Ser. No.62/361,886, entitled “METHOD AND APPARATUS FOR REDUCING SPATIALSENSITIVITY IN NEUROSTIMULATION USING SPATIO-TEMPORAL FILTERING”, filedon Jul. 13, 2016, which are incorporated by reference in their entirety.

TECHNICAL FIELD

This document relates generally to medical devices and more particularlyto a system for neurostimulation programming including composition ofstimulation patterns.

BACKGROUND

Neurostimulation, also referred to as neuromodulation, has been proposedas a therapy for a number of conditions. Examples of neurostimulationinclude Spinal Cord Stimulation (SCS), Deep Brain Stimulation (DBS),Peripheral Nerve Stimulation (PNS), and Functional ElectricalStimulation (FES). Implantable neurostimulation systems have beenapplied to deliver such a therapy. An implantable neurostimulationsystem may include an implantable neurostimulator, also referred to asan implantable pulse generator (IPG), and one or more implantable leadseach including one or more electrodes. The implantable neurostimulatordelivers neurostimulation energy through one or more electrodes placedon or near a target site in the nervous system. An external programmingdevice is used to program the implantable neurostimulator withstimulation parameters controlling the delivery of the neurostimulationenergy.

In one example, the neurostimulation energy is delivered in the form ofelectrical neurostimulation pulses. The delivery is controlled usingstimulation parameters that specify spatial (where to stimulate),temporal (when to stimulate), and informational (patterns of pulsesdirecting the nervous system to respond as desired) aspects of a patternof neurostimulation pulses. Many current neurostimulation systems areprogrammed to deliver periodic pulses with one or a few uniformwaveforms continuously or in bursts. However, the human nervous systemsuse neural signals having much more sophisticated patterns tocommunicate various types of information, including sensations of pain,pressure, temperature, etc. The nervous system may interpret anartificial stimulation with a simple pattern of stimuli as an unnaturalphenomenon, and respond with an unintended and undesirable sensationand/or movement. For example, some neurostimulation therapies are knownto cause paresthesia and/or vibration of non-targeted tissue or organ.

Recent research has shown that the efficacy and efficiency of certainneurostimulation therapies can be improved, and their side-effects canbe reduced, by using patterns of neurostimulation pulses that emulatenatural patterns of neural signals observed in the human body. Whilemodern electronics can accommodate the need for generating suchsophisticated pulse patterns, the capability of a neurostimulationsystem depends on its post-manufacturing programmability to a greatextent. For example, a sophisticated pulse pattern may only benefit apatient when it is customized for that patient, and stimulation patternspredetermined at the time of manufacturing may substantially limit thepotential for the customization. Such customization may be performed atleast in part by a user such as a physician or other caregiver with thepatient in a clinical setting.

SUMMARY

An example (e.g., “Example 1”) of a system for programming aneurostimulator to deliver neurostimulation energy through a pluralityof electrodes may include a storage device and a pattern generator. Thestorage device may be configured to store a pattern library and one ormore neuronal network models. The pattern library may include aplurality of fields and a plurality of waveforms. The fields may eachspecify a spatial distribution of the neurostimulation energy across theplurality of electrodes. The waveforms may each specify a temporalpattern of the neuromodulation energy. The one or more neuronal networkmodels may each be a computational model configured to allow forevaluating effects of one or more fields selected from the plurality offields in combination with one or more waveforms selected from theplurality of waveforms in treating one or more indications forneuromodulation. The pattern generator may be configured to generate aspatio-temporal pattern of neurostimulation specifying a sequence of oneor more spatio-temporal units each including one or more fields selectedfrom the plurality of fields in combination with one or more waveformsselected from the plurality of waveforms. The spatio-temporal pattern ofneurostimulation may include a series of sub-patterns for treating anindication of the one or more indications for neuromodulation. Thepattern generator may include a pattern editor and a pattern optimizer.The pattern editor may be configured to construct one or more of theplurality of fields, the plurality of waveforms, the one or morespatio-temporal units, or the spatio-temporal pattern ofneurostimulation. The pattern optimizer may be configured toapproximately optimize one or more of the plurality of fields, theplurality of waveforms, the one or more spatio-temporal units, or thespatio-temporal pattern of neurostimulation using at least one neuronalnetwork model of the one or more neuronal network models.

In Example 2, the subject matter of Example 1 may optionally beconfigured such that the effects include one or more therapeuticeffects.

In Example 3, the subject matter of Example 2 may optionally beconfigured such that the effects further include one or more sideeffects.

In Example 4, the subject matter of Example 3 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that portions of theneurostimulation energy delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating theindication without causing the one or more specified side effects.

In Example 5, the subject matter of Example 4 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that portions of theneurostimulation energy delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating painwithout causing paresthesia.

In Example 6, the subject matter of Example 4 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that portions of theneurostimulation energy delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating painwithout causing an intolerable level of paresthesia.

In Example 7, the subject matter of Example 4 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that portions of theneurostimulation energy delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating painwhile causing a desirable type sensation.

In Example 8, the subject matter of any one or any combination ofExamples 1 to 7 may optionally be configured such that the patternoptimizer is configured to approximately optimize each sub-pattern ofthe series of sub-pattern individually using the at least one neuronalnetwork model.

In Example 9, the subject matter of any one or any combination ofExamples 1 to 8 may optionally be configured such that the at least oneneuronal network model includes inputs corresponding to one or morefields of the plurality of field specified in the series of sub-patternsand outputs each representing an effect in treating an indication of theone or more indication for neuromodulation or a side effect.

In Example 10, the subject matter of any one or any combination ofExamples 1 to 9 may optionally be configured such that the series ofsub-patterns comprises a first sub-pattern constructed to have atherapeutic effect in treating the indication of the one or moreindications for neuromodulation, and an additional sub-pattern.

In Example 11, the subject matter of Example 10 may optionally beconfigured such that additional sub-pattern is constructed to enhancethe therapeutic effect.

In Example 12, the subject matter of any one or any combination ofExamples 10 and 11 may optionally be configured such that the firstsub-pattern is associated with a side effect, and the additionalsub-pattern is constructed to abate the side effect.

In Example 13, the subject matter of any one or any combination ofExamples 10 to 12 may optionally be configured such that the first andadditional sub-patterns include identical fields selected from theplurality of fields.

In Example 14, the subject matter of any one or any combination ofExamples 10 to 12 may optionally be configured such that the first andadditional sub-patterns include different fields selected from theplurality of fields.

In Example 15, the subject matter of any one or any combination ofExamples 1 to 14 may optionally be configured to further include aprogramming control circuit configured to generate a plurality ofstimulation parameters controlling delivery of the neurostimulationenergy from the neurostimulator according to the spatio-temporal patternof neurostimulation and transmit the plurality of stimulation parametersto the neurostimulator.

An Example (e.g., “Example 16”) of a method for programming aneurostimulator is also provided. The method may include providing apattern library, providing one or more neuronal network models, andgenerating a spatio-temporal pattern of neurostimulation. The patternlibrary may include a plurality of fields and a plurality of waveforms.The fields may each specify a spatial distribution of theneurostimulation energy across the plurality of electrodes. Thewaveforms may each specify a temporal pattern of the neuromodulationenergy. The one or more neuronal network models may each be acomputational model configured to allow for evaluating effects of one ormore fields selected from the plurality of fields in combination withone or more waveforms selected from the plurality of waveforms intreating one or more indications for neuromodulation. Thespatio-temporal pattern of neurostimulation may specify a sequence ofone or more spatio-temporal units each including one or more fieldsselected from the plurality of fields in combination with one or morewaveforms selected from the plurality of waveforms. The spatio-temporalpattern of neurostimulation may include a series of sub-patterns fortreating an indication of the one or more indications forneuromodulation. The generation of the spatio-temporal pattern ofneurostimulation may include approximately optimizing one or more of theplurality of fields, the plurality of waveforms, the one or morespatio-temporal units, or the spatio-temporal pattern ofneurostimulation using at least one neuronal network model of the one ormore neuronal network models.

In Example 17, the subject matter of generating the spatio-temporalpattern of neurostimulation as found in Example 16 may optionallyinclude generating each sub-pattern of the series of sub-patterns suchthat portions of the neurostimulation energy delivered according to thespatio-temporal pattern of neurostimulation have a cumulative effect intreating the indication without causing one or more specified sideeffects.

In Example 18, the subject matter of generating the spatio-temporalpattern of neurostimulation as found in Example 17 may optionallyinclude generating each sub-pattern of the series of sub-patterns suchthat portions of the neurostimulation energy delivered according to thespatio-temporal pattern of neurostimulation have a cumulative effect intreating pain without causing paresthesia or without causing anintolerable level of paresthesia.

In Example 19, the subject matter of generating the spatio-temporalpattern of neurostimulation as found in any one or any combination ofExamples 16 to 18 may optionally include approximately optimizing eachsub-pattern of the series of sub-pattern individually using the at leastone neuronal network model.

In Example 20, the subject matter of providing one or more neuronalnetwork models as found in any one or any combination of Examples 16 to19 may optionally include providing the at least one neuronal networkmodel with inputs corresponding to one or more fields of the pluralityof field specified in the series of sub-patterns and outputs eachrepresenting an effect in treating an indication of the one or moreindication for neuromodulation or a side effect.

In Example 21, the subject matter of generating the spatio-temporalpattern of neurostimulation as found in any one or any combination ofExamples 16 to 20 may optionally include constructing a firstsub-pattern of the series sub-patterns to have a therapeutic effect intreating the indication of the one or more indications forneuromodulation and constructing an additional sub-pattern of the seriessub-patterns.

In Example 22, the subject matter of constructing the additionalsub-pattern as found in Example 21 may optionally include constructingthe additional sub-pattern to enhance the therapeutic effect.

In Example 23, the subject matter of constructing the additionalsub-pattern as found in Example 22 may optionally include constructingthe additional sub-pattern comprises constructing the additionalsub-pattern to abate the side effect associated with the firstsub-pattern.

In Example 24, the subject matter of constructing the first sub-patternand constructing the additional sub-pattern as found in any one or anycombination of Examples 21 to 23 may optionally include constructing thefirst and second sub-patterns to include identical fields selected fromthe plurality of fields.

In Example 24, the subject matter of constructing the first sub-patternand constructing the additional sub-pattern as found in any one or anycombination of Examples 21 to 23 may optionally include constructing thefirst and second sub-patterns to include different fields selected fromthe plurality of fields.

This Summary is an overview of some of the teachings of the presentapplication and not intended to be an exclusive or exhaustive treatmentof the present subject matter. Further details about the present subjectmatter are found in the detailed description and appended claims. Otheraspects of the disclosure will be apparent to persons skilled in the artupon reading and understanding the following detailed description andviewing the drawings that form a part thereof, each of which are not tobe taken in a limiting sense. The scope of the present disclosure isdefined by the appended claims and their legal equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings illustrate generally, by way of example, variousembodiments discussed in the present document. The drawings are forillustrative purposes only and may not be to scale.

FIG. 1 illustrates an embodiment of a neurostimulation system.

FIG. 2 illustrates an embodiment of a stimulation device and a leadsystem, such as may be implemented in the neurostimulation system ofFIG. 1.

FIG. 3 illustrates an embodiment of a programming device, such as may beimplemented in the neurostimulation system of FIG. 1.

FIG. 4 illustrates an implantable neurostimulation system and portionsof an environment in which the system may be used.

FIG. 5 illustrates an embodiment of an implantable stimulator and one ormore leads of an implantable neurostimulation system, such as theimplantable system of FIG. 4.

FIG. 6 illustrates an embodiment of an external programming device of animplantable neurostimulation system, such as the external system of FIG.4.

FIG. 7 illustrates another embodiment of the external programming deviceof FIG. 6.

FIG. 8 illustrates an embodiment of a multi-nodal neuronal networkmodel.

FIG. 9 illustrates an embodiment of a neuronal network model.

FIG. 10 illustrates characteristics of an exemplary simplified neuronalnetwork model.

FIG. 11 illustrates an embodiment of neurostimulation for cumulativeeffects.

FIG. 12 illustrates an embodiment of multi-step optimization.

FIG. 13 illustrates an embodiment of identifying stimulation loci thatgenerate paresthesia in a part of a body.

FIG. 14 illustrates an embodiment of a stimulation locus over rootsidentified via a paresthesia-based method.

FIG. 15 illustrates another embodiment of a stimulation locus over rootsidentified via a paresthesia-based method.

FIG. 16 illustrates an embodiment of a region of interest (ROI) forusing spatio-temporal filtering to reduce spatial sensitivity.

FIG. 17 illustrates an embodiment of an ROI, such as the ROI of FIG. 16,divided into a plurality of sub-regions.

FIG. 18 illustrates an embodiment of a process using the spatio-temporalfiltering to reduce spatial sensitivity.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof, and in which is shown byway of illustration specific embodiments in which the invention may bepracticed. These embodiments are described in sufficient detail toenable those skilled in the art to practice the invention, and it is tobe understood that the embodiments may be combined, or that otherembodiments may be utilized and that structural, logical and electricalchanges may be made without departing from the spirit and scope of thepresent invention. References to “an”, “one”, or “various” embodimentsin this disclosure are not necessarily to the same embodiment, and suchreferences contemplate more than one embodiment. The following detaileddescription provides examples, and the scope of the present invention isdefined by the appended claims and their legal equivalents.

This document discusses a method and system for programmingneurostimulation patterns. Advancements in neuroscience andneurostimulation research have led to a demand for using complex and/orindividually optimized patterns of neurostimulation energy for varioustypes of therapies. The capability of a neurostimulation system intreating various types of disorders will be limited by theprogrammability of such patterns of neurostimulation energy. In variousembodiments, the present system allows for custom definition of apattern of neurostimulation energy, which includes custom definition ofwaveforms being the building blocks of the pattern. In variousembodiments, the present system may include a user interface that makesit possible for the user to perform the custom definition of potentiallyvery complex patterns of neurostimulation pulses by creating and editinggraphical representations of relatively simple individual buildingblocks for each of the patterns. In various embodiments, theindividually definable waveforms may include, for example, pulses,bursts of pulses, trains of bursts, and sequences of pulses, bursts, andtrains. In various embodiments, the present system may provide forpatterns of neurostimulation energy not limited to waveforms predefinedat the time of manufacturing, thereby accommodating need forcustomization of neurostimulation energy patterns as well as need fornew types of neurostimulation energy patterns that may, for example,result from future research in neurostimulation. This may alsofacilitate design of a general-purpose neurostimulation device that canbe configured by a user for delivering specific types ofneurostimulation therapies by programming the device using the userinterface.

In various embodiments, the present system (referred to as “thespatio-temporal system) includes a neurostimulator programming devicewith a user interface that enables users to understand, manage, andprogram stimulation and create patterns of stimuli specified by acomplex combination of spatial and temporal parameters. Users of theprogramming device can have different levels of knowledge and expertisewith respect to different aspects of programming a neurostimulator, aswell as different needs and constraints. Examples include: a physicianin an operation room may have very limited time for programming aneurostimulator for a patient under surgery; an academic researcher mayhave limited understanding of electrical engineering aspects of thestimulation; some users want to know what the stimuli look like; andsome users may have limited understanding of anatomy, neuromodulation,and how electrical stimulation actually works. Therefore, the userinterface provides access to different levels of access to variousaspects of neurostimulation programming to reduce distraction, ensureaccuracy and patient safety, and increase efficiency during programmingof a neurostimulator. In one embodiment, multiple user interfaces, ormultiple versions of a user interface, are configured for differentstages of neurostimulation programming. For example, a user interfacemay be configured for composing waveforms, such as a spatio-temporalpattern of neurostimulation and its building blocks, as discussed inthis document. Another user interface may be configured for sharing thecomposed waveforms with other users. Still another user interface may beconfigured for programming a stimulator for each individual patient. Yetanother user interface may be configured for use by the user and/or thepatient to adjust the programming as needed when one or moreneurostimulation therapies are delivered to the patient. Userinterface(s) may be configured to provide any combination of two or moreof these functions.

In various embodiments, the user interface allows for neurostimulationprogramming starting with templates/presets to enable valuable timesavings in defining stimulation waveforms. In various embodiments, theuser interface provides for complete editorial control as well assimplified, guided, and template-based editorial options. In variousembodiments, the user interface provides the user with interpretation ofeditorial features and guide rails.

In various embodiments, the present system may be implemented using acombination of hardware and software designed to provide users such asresearchers, physicians or other caregivers, or neurostimulation devicemakers with ability to create custom waveforms and patterns in an effortto increase therapeutic efficacy, increase patient satisfaction forneurostimulation therapies, reduce side effects, and/or increase devicelongevity. The present system may be applied in any neurostimulation(neuromodulation) therapies, including but not being limited to SCS,DBS, PNS, FES, and Vagus Nerve Stimulation (VNS) therapies.

The present system is highly flexible in its ability to generatenon-uniform patterns of neurostimulation energy as well as shapes ofwaveform building blocks other than “standard” shapes (e.g., square andexponential pulses). It expands temporal programming capability of knownneurostimulation programming systems. The present system has strongcapabilities in both space (which neural elements are modulated) andtime (what information is conveyed to those neural elements) that arepotentially potent combination for achieving neurostimulation objectiveswhen interacting with complex neural systems. The present system can“talk” to different groups of neural elements and/or their supportelements and “tell” them the “right” information to obtain a desiredclinical effect.

Neuronal models have been built (e.g., by various academic groups) toindicate that engaging multiple groups of neurons that are part of anetwork of interest can be exploited to achieve a desired output. Thesegroups of neurons can often be separated by certain characteristics,such as fiber diameter, primary output neurotransmitter, andspatial/anatomical location. The present subject matter uses suchneuronal models in the programming of neurostimulation includingcomposition of patterns of neurostimulation. Use of neuronal models may,for example, allow a substantial part of customization of a pattern ofneurostimulation for a patient to be performed without the presence ofpatient. Use of neuronal models may also, for example, allow researchersto evaluating various new patterns of neurostimulation and theirbuilding blocks using computer simulations.

The present subject matter provides methods for selecting electric fieldloci that correspond to the groups of neural elements of interest. Oneembodiment uses paresthesia-based methods to guide selection of fieldloci (see discussion under “F. Paresthesia-Guided Field Selection”below). One embodiment uses anatomical-based methods (see discussionunder “G. Anatomy-Guided Field Selection” below). One embodiment uses afilter with less spatial sensitivity (see discussion under “H.Spatio-Temporal Filtering to Reduce Spatial Sensitivity” below).

FIG. 1 illustrates an embodiment of a neurostimulation system 100.System 100 includes electrodes 106, a stimulation device 104, and aprogramming device 102. Electrodes 106 are configured to be placed on ornear one or more neural targets in a patient. Stimulation device 104 isconfigured to be electrically connected to electrodes 106 and deliverneurostimulation energy, such as in the form of electrical pulses, tothe one or more neural targets though electrodes 106. The delivery ofthe neurostimulation is controlled by using a plurality of stimulationparameters, such as stimulation parameters specifying a pattern of theelectrical pulses and a selection of electrodes through which each ofthe electrical pulses is delivered, including relative timing betweenpulses delivered through different sets of electrodes. In variousembodiments, at least some parameters of the plurality of stimulationparameters are programmable by a user, such as a physician or othercaregiver who treats the patient using system 100. Programming device102 provides the user with accessibility to the user-programmableparameters. In various embodiments, programming device 102 is configuredto be communicatively coupled to stimulation device via a wired orwireless link.

In this document, a “user” includes a physician or other clinician orcaregiver who treats the patient using system 100 as well as researchersor other professional developing such treatments; a “patient” includes aperson who receives or is intended to receive neurostimulation deliveredusing system 100. In various embodiments, the patient nay be allowed toadjust his or her treatment using system 100 to certain extent, such asby adjusting certain therapy parameters and entering feedback andclinical effects information. While neurostimulation energy delivered inthe form of electrical pulses is discussed in various portions of thisdocument as a specific example of stimuli of the neurostimulation,various embodiments may use any type of neurostimulation energydelivered in any type of stimuli that are capable of modulatingcharacteristics and/or activities in neural or other target tissue in apatient. When electrical energy is used for neurostimulation, stimulimay include pulses with various shapes and phases, as well as continuoussignals such as signals with sinusoidal waveforms.

In various embodiments, programming device 102 includes a user interfacethat allows the user to set and/or adjust values of theuser-programmable parameters by creating and/or editing graphicalrepresentations of various waveforms. Such waveforms may include, forexample, the waveform of a pattern of neurostimulation pulses to bedelivered to the patient as well as waveform building blocks that can beused in the pattern of neurostimulation pulses. Examples of suchwaveform building blocks include pulses, bursts each including a groupof the pulses, trains each including a group of the bursts, andsequences each including a group of the pulses, bursts, and trains, asfurther discussed below. In various embodiments, programming device 102allows the user to edit existing waveform building blocks, create newwaveform building blocks, import waveform building blocks created byother users, and/or export waveform building blocks to be used by otherusers. The user may also be allowed to define an electrode selectionspecific to each individually defined waveform. In the illustratedembodiment, the user interface includes a user interface 110. In variousembodiments, user interface 110 may include a GUI or any other type ofuser interface accommodating various functions including waveformcomposition as discussed in this document.

FIG. 2 illustrates an embodiment of a stimulation device 204 and a leadsystem 208, such as may be implemented in neurostimulation system 100.Stimulation device 204 represents an embodiment of stimulation device104 and includes a stimulation output circuit 212 and a stimulationcontrol circuit 214. Stimulation output circuit 212 produces anddelivers neurostimulation pulses. Stimulation control circuit 214controls the delivery of the neurostimulation pulses using the pluralityof stimulation parameters, which specifies a pattern of theneurostimulation pulses. Lead system 208 includes one or more leads eachconfigured to be electrically connected to stimulation device 204 and aplurality of electrodes 206 distributed in the one or more leads. Theplurality of electrodes 206 includes electrode 206-1, electrode 206-2, .. . electrode 206-N, each a single electrically conductive contactproviding for an electrical interface between stimulation output circuit212 and tissue of the patient, where N≥2. The neurostimulation pulsesare each delivered from stimulation output circuit 212 through a set ofelectrodes selected from electrodes 206. In various embodiments, theneurostimulation pulses may include one or more individually definedpulses, and the set of electrodes may be individually definable by theuser for each of the individually defined pulses.

In various embodiments, the number of leads and the number of electrodeson each lead depend on, for example, the distribution of target(s) ofthe neurostimulation and the need for controlling the distribution ofelectric field at each target. In one embodiment, lead system 208includes 2 leads with 8 electrodes incorporated onto each lead. Invarious embodiments, stimulation output circuit 212 may support X totalelectrodes (or contacts, such as electrodes selected from electrodes206) in a system such as system 100, of which Y electrodes may beactivated for a therapy session, of which Z electrodes (Z<Y) may beactivated simultaneously during the therapy session. The system may haveW electrical sources for delivering the neurostimulation pulses, where Wis greater than Y but may be smaller than X. For example, stimulationoutput circuit 212 may have W timing channels, where W is greater than Ybut may be smaller than X.

FIG. 3 illustrates an embodiment of a programming device 302, such asmay be implemented in neurostimulation system 100. Programming device302 represents an embodiment of programming device 102 and includes astorage device 318, a programming control circuit 316, and a userinterface 310. Storage device 318 stores a plurality of waveformbuilding blocks. Programming control circuit 316 generates the pluralityof stimulation parameters that controls the delivery of theneurostimulation pulses according to the pattern of the neurostimulationpulses. User interface 310 represents an embodiment of GUI 110 andallows the user to define the pattern of the neurostimulation pulsesusing one or more waveform building blocks selected from the pluralityof waveform building blocks.

In various embodiments, user interface 310 includes a neurostimulationpattern generator 320 that allows the user to manage the waveformbuilding blocks, including importing waveform building blocks to beadded to the waveform building blocks stored in storage device 318,exporting waveform building blocks selected from the waveform buildingblocks stored in storage device 318, and editing each of the waveformbuilding blocks. In various embodiments, user interface 310 includes aGUI that allows for graphical editing of each of the waveform buildingblocks. In various embodiments, neurostimulation pattern generator 320allows the user to create the pattern of neurostimulation pulses to bedelivering to the patient using stimulation device 104 using waveformbuilding blocks such as pulses, bursts each including a group of thepulses, trains each including a group of the bursts, and/or sequenceseach including a group of the pulses, bursts, and trains. In variousembodiments, neurostimulation pattern generator 320 allows the user tocreate each waveform building block using one or more waveform buildingblocks stored in storage device 318 as templates. In variousembodiments, neurostimulation pattern generator 320 allows each newlycreated waveform building block to be saved as additional waveformbuilding block stored in storage device 318.

In one embodiment, user interface 310 includes a touchscreen. In variousembodiments, user interface 310 includes any type of presentationdevice, such as interactive or non-interactive screens, and any type ofuser input devices that allow the user to edit the waveforms or buildingblocks and schedule the programs, such as touchscreen, keyboard, keypad,touchpad, trackball, joystick, mouse, virtual reality (VR) control,multi-touch, voice control, inertia/accelerometer-based control, andvision-based control. In various embodiments, circuits ofneurostimulation 100, including its various embodiments discussed inthis document, may be implemented using a combination of hardware andsoftware. For example, the circuit of user interface 100, stimulationcontrol circuit 214, and programming control circuit 316, includingtheir various embodiments discussed in this document, may be implementedusing an application-specific circuit constructed to perform one or moreparticular functions or a general-purpose circuit programmed to performsuch function(s). Such a general-purpose circuit includes, but is notlimited to, a microprocessor or a portion thereof, a microcontroller orportions thereof, and a programmable logic circuit or a portion thereof.

FIG. 4 illustrates an implantable neurostimulation system 400 andportions of an environment in which system 400 may be used. System 400includes an implantable system 422, an external system 402, and atelemetry link 426 providing for wireless communication betweenimplantable system 422 and external system 402. Implantable system 422is illustrated in FIG. 4 as being implanted in the patient's body 499.

Implantable system 422 includes an implantable stimulator (also referredto as an implantable pulse generator, or IPG) 404, a lead system 424,and electrodes 406, which represent an embodiment of stimulation device204, lead system 208, and electrodes 206, respectively. External system402 represents an embodiment of programming device 302. In variousembodiments, external system 402 includes one or more external(non-implantable) devices each allowing the user and/or the patient tocommunicate with implantable system 422. In some embodiments, externalsystem 402 includes a programming device intended for the user toinitialize and adjust settings for implantable stimulator 404 and aremote control device intended for use by the patient. For example, theremote control device may allow the patient to turn implantablestimulator 404 on and off and/or adjust certain patient-programmableparameters of the plurality of stimulation parameters.

The sizes and shapes of the elements of implantable system 422 and theirlocation in body 499 are illustrated by way of example and not by way ofrestriction. An implantable system is discussed as a specificapplication of the programming according to various embodiments of thepresent subject matter. In various embodiments, the present subjectmatter may be applied in programming any type of stimulation device thatuses electrical pulses as stimuli, regarding less of stimulation targetsin the patient's body and whether the stimulation device is implantable.

FIG. 5 illustrates an embodiment of implantable stimulator 404 and oneor more leads 424 of an implantable neurostimulation system, such asimplantable system 422. Implantable stimulator 404 may include a sensingcircuit 530 that is optional and required only when the stimulator has asensing capability, stimulation output circuit 212, a stimulationcontrol circuit 514, an implant storage device 532, an implant telemetrycircuit 534, and a power source 536. Sensing circuit 530, when includedand needed, senses one or more physiological signals for purposes ofpatient monitoring and/or control of the neurostimulation. Examples ofthe one or more physiological signals includes neural and other signalseach indicative of a condition of the patient that is treated by theneurostimulation and/or a response of the patient to the delivery of theneurostimulation. In various embodiments, additional signals may begenerated by processing the sensed one or more physiological signals,such as by correlation, subtraction, and/or being used as inputs toconditional, rules based state machines, for purposes of patientmonitoring and/or control of the neurostimulation. Stimulation outputcircuit 212 is electrically connected to electrodes 406 through lead424, and delivers each of the neurostimulation pulses through a set ofelectrodes selected from electrodes 406. Stimulation control circuit 514represents an embodiment of stimulation control circuit 214 and controlsthe delivery of the neurostimulation pulses using the plurality ofstimulation parameters specifying the pattern of the neurostimulationpulses. In one embodiment, stimulation control circuit 514 controls thedelivery of the neurostimulation pulses using the one or more sensedphysiological signals. Implant telemetry circuit 534 providesimplantable stimulator 404 with wireless communication with anotherdevice such as a device of external system 402, including receivingvalues of the plurality of stimulation parameters from external system402. Implant storage device 532 stores values of the plurality ofstimulation parameters. Power source 536 provides implantable stimulator404 with energy for its operation. In one embodiment, power source 536includes a battery. In one embodiment, power source 536 includes arechargeable battery and a battery charging circuit for charging therechargeable battery. Implant telemetry circuit 534 may also function asa power receiver that receives power transmitted from external system402 through an inductive couple or another mechanism.

In various embodiments, sensing circuit 530 (if included), stimulationoutput circuit 212, stimulation control circuit 514, implant telemetrycircuit 534, implant storage device 532, and power source 536 areencapsulated in a hermetically sealed implantable housing. In variousembodiments, lead(s) 424 are implanted such that electrodes 406 areplaced on and/or around one or more targets to which theneurostimulation pulses are to be delivered, while implantablestimulator 404 is subcutaneously implanted and connected to lead(s) 424at the time of implantation.

FIG. 6 illustrates an embodiment of an external programming device 602of an implantable neurostimulation system, such as external system 402.External programming device 602 represents an embodiment of programmingdevice 302, and includes an external telemetry circuit 646, an externalstorage device 618, a programming control circuit 616, and a userinterface 610.

External telemetry circuit 646 provides external programming device 602with wireless communication with another device such as implantablestimulator 404 via telemetry link 426, including transmitting theplurality of stimulation parameters to implantable stimulator 404. Inone embodiment, external telemetry circuit 646 also transmits power toimplantable stimulator 404 through the inductive couple.

External storage device 618 stores a plurality of waveform buildingblocks each selectable for use as a portion of the pattern of theneurostimulation pulses. In various embodiments, each waveform buildingblock of the plurality of waveform building blocks includes one or morepulses of the neurostimulation pulses, and may include one or more otherwaveform building blocks of the plurality of waveform building blocks.Examples of such waveforms include pulses, bursts each including a groupof the pulses, trains each including a group of the bursts, andsequences each including a group of the pulses, bursts, and trains.External storage device 618 also stores a plurality of stimulationfields. Each waveform building block of the plurality of waveformbuilding blocks is associated with one or more fields of the pluralityof stimulation fields. Each field of the plurality of stimulation fieldsis defined by one or more electrodes of the plurality of electrodesthrough which a pulse of the neurostimulation pulses is delivered and acurrent distribution of the pulse over the one or more electrodes.

Programming control circuit 616 represents an embodiment of programmingcontrol circuit 316 and generates the plurality of stimulationparameters, which is to be transmitted to implantable stimulator 404,according to the pattern of the neurostimulation pulses. The pattern isdefined using one or more waveform building blocks selected from theplurality of waveform building blocks stored in external storage device618. In various embodiment, programming control circuit 616 checksvalues of the plurality of stimulation parameters against safety rulesto limit these values within constraints of the safety rules. In oneembodiment, the safety rules are heuristic rules. In variousembodiments, it may be a requirement that the plurality of stimulationparameters is experienced by the patient or subject before theprogramming is complete (e.g., for use during a therapy session). Thismay include, for example, that the patient or subject experiences thewhole set of the parameters, a representative subset of the parameters,or a representative set of the parameters defined via processing, toensure suitability and tolerance of the expected stimulation that willbe experienced by the patient during a therapy session.

User interface 610 represents an embodiment of user interface 310 andallows the user to define the pattern of neurostimulation pulses andperform various other monitoring and programming tasks. In oneembodiment, user interface 610 includes a GUI. User interface 610includes a display 642, a user input device 644, and an interfacecontrol circuit 640. Display 642 may include any type of visual displaysuch as interactive or non-interactive screens, and user input device644 may include any type of user input devices that supports the variousfunctions discussed in this document, such as touchscreen, keyboard,keypad, touchpad, trackball, joystick, and mouse. In one embodiment,user interface 610 includes a GUI that has an interactive screen fordisplaying a graphical representation of a waveform building block andallows the user to adjust the waveform building block by graphicallyediting the waveform building block. Actions of the graphical editingmay be scripted, or otherwise automated, or performed programmatically.In one embodiment, “graphically editing” may include keyboard actions,such as actions sometimes referred to as “keyboard shortcuts”. Userinterface 610 may also allow the user to perform any other functionsdiscussed in this document where graphical editing is suitable as may beappreciated by those skilled in the art.

Interface control circuit 640 controls the operation of user interface610 including responding to various inputs received by user input device644 and defining the one or more stimulation waveforms. Interfacecontrol circuit 640 includes neurostimulation pattern generator 320.

In various embodiments, external programming device 602 has operationmodes including a composition mode and a real-time programming mode. Inother embodiments, such operation modes may exist as separate softwaresuites, interfaces to remote applications (such as “web-apps”), or belocated on one or more physical devices other than external programmingdevice 602. Under the composition mode (also known as the pulse patterncomposition mode), User interface 610 is activated, while programmingcontrol circuit 616 is inactivated. Programming control circuit 616 doesnot dynamically updates values of the plurality of stimulationparameters in response to any change in the one or more stimulationwaveforms. Under the real-time programming mode, both user interface 610and programming control circuit 616 are activated. Programming controlcircuit 616 dynamically updates values of the plurality of stimulationparameters in response to changes in the set of one or more stimulationwaveforms, and transmits the plurality of stimulation parameters withthe updated values to implantable stimulator 404. In variousembodiments, the transmission of the plurality of stimulation parametersto implantable stimulator 404 may be gated by a set of rules.Implantable stimulator 404 may be instructed to operate one set ofparameters that is a processed version of the dynamically updated set ofparameters until programming is closed. For example, a burst A may bedelivered followed by a pause B and then followed by another burst C,where pause B is long. Implantable stimulator 404 may replace the longpause B with a short pause D when the programmer and/or systemidentifies that long pause B does not affect the patient's experience ofeither burst A or C.

A. Neurostimulation Programming Using Neuronal Network Model

FIG. 7 illustrates an embodiment of an external programming device 702,which represents an embodiment of external programming device 602.External programming device 702 includes external telemetry circuit 646,an external storage device 718, a programming control circuit 716, and auser interface 710. In various embodiments, external programming device702 may be implemented as a single device or multiple devicescommunicatively coupled to each other.

External storage device 718 represents an embodiment of external storagedevice 618 and may store a pattern library (database) 748 and one ormore neuronal network models 750. Pattern library 748 may include aplurality of fields (spatial patterns) and a plurality of waveforms(temporal patterns). Each field of the plurality of fields specifies aspatial distribution of the neurostimulation energy across a pluralityof electrodes such as electrodes 406. In various embodiments, thespatial distribution can be specified by an amplitude of the energy foreach electrode or a fraction of the total energy for each electrode.When the spatial distribution is specified by a percentage of the totalenergy for each electrode, for example, 0% assigned to an electrodemeans that electrode is not actively used, and 100% assigned to anelectrode means that electrode is the only electrode actively used, suchas during a particular phase of the neurostimulation. Each waveform ofthe plurality of waveforms specifies a waveform of a sequence of theneuromodulation pulses. Certain parameters, such as amplitude ofneurostimulation pulses (e.g., in mA), may be defined in either thefields or the waveforms. One or more neuronal network models 750 areeach a computational model configured to allow for evaluating effects ofone or more fields selected from the plurality of fields in combinationwith one or more waveforms selected from the plurality of waveforms intreating one or more indications for neurostimulation. In variousembodiments, the effects include one or more therapeutic effects intreating one or more indications for neuromodulation. In variousembodiments, the effects include one or more therapeutic effects intreating one or more indications for neuromodulation and one or moreside effects associated with the neuromodulation. In variousembodiments, external storage device 718 may include one or more storagedevices. Programming control circuit 716 represents an embodiment ofprogramming control circuit 616 and generates a plurality of stimulationparameters controlling delivery of neurostimulation pulses from aneurostimulator, such as implantable stimulator 404, according to aspatio-temporal pattern of neurostimulation. The spatio-temporal patternof neurostimulation specifies a sequence of neurostimulation pulsesgrouped as one or more spatio-temporal units. The one or morespatio-temporal units each include one or more fields selected from theplurality of fields in combination with one or more waveforms selectedfrom the plurality of waveforms.

User interface 710 represents an embodiment of user interface 610 andincludes display 642, user input device 644, and an interface controlcircuit 740. Interface control circuit 740 represents an embodiment ofinterface control circuit 640 and includes a neurostimulation patterngenerator 720 that generates the spatio-temporal pattern ofneurostimulation. Neurostimulation pattern generator 720 represents anembodiment of neurostimulation pattern generator 320 and includes apattern editor 752 and a pattern optimizer 754. Pattern editor 752allows the user to create and adjust one or more of the plurality offields, the plurality of waveforms, the one or more spatio-temporalunits, or the spatio-temporal pattern of neurostimulation. Examples ofpattern editor 752 are discussed in U.S. patent application Ser. No.14/853,589, entitled “GRAPHICAL USER INTERFACE FOR PROGRAMMINGNEUROSTIMULATION PULSE PATTERNS”, filed on Sep. 14, 2015; U.S. patentapplication Ser. No. 14/926,725, entitled “METHOD AND APPARATUS FORPROGRAMMING COMPLEX NEUROSTIMULATION PATTERNS”, filed on Oct. 29, 2015;U.S. Provisional Patent Application Ser. No. 62/137,567, entitled“METHOD AND APPARATUS FOR CONTROLLING TEMPORAL PATTERNS OFNEUROSTIMULATION”, filed on Mar. 24, 2015, U.S. Provisional PatentApplication Ser. No. 62/111,715, entitled “METHOD AND APPARATUS FORPROGRAMMING CHARGE RECOVERY IN NEUROSTIMULATION WAVEFORM”, filed on Feb.4, 2015; U.S. Provisional Patent Application Ser. No. 62/198,957,entitled “USER INTERFACE FOR CUSTOM PATTERNED ELECTRICAL STIMULATION”,filed on Jul. 30, 2015; and U.S. Provisional Patent Application Ser. No.62/241,965, entitled “USER INTERFACE FOR NEUROSTIMULATION WAVEFORMCOMPOSITION”, filed on Oct. 15, 2015, all assigned to Boston ScientificNeuromodulation Corporation, which are incorporated herein by referencein their entirety. Pattern optimizer 754 approximately optimizes one ormore of the plurality of fields, the plurality of waveforms, the one ormore spatio-temporal units, or the spatio-temporal pattern ofneurostimulation using at least one neuronal network model of one ormore neuronal models 750.

In various embodiments in which external programming device 702 isimplemented as multiple devices communicatively coupled to each other,one or more of the multiple devices may each include a user interfacesimilar to user interface 710. In various embodiments, externalprogramming device 702 includes an additional pattern optimizer that canbe communicatively coupled to pattern optimizer 754. In one embodiment,the additional pattern optimizer receives the one or more of theplurality of fields, the plurality of waveforms, the one or morespatio-temporal units, or the spatio-temporal pattern ofneurostimulation that are approximately optimized by pattern optimizerand operates in an offline fashion to translate them to sets ofstimulation parameters which may be programmed on a stimulating device,such as implantable stimulator 404, or additionally considers additionalconstraints, e.g., battery longevity. In another embodiment, theadditional pattern optimizer operates in an online fashion to alter thestimulation parameters to suit the device, or to be suitable givenadditional constraints.

In various embodiments, external programming device 702 is implementedas multiple devices constituting a front end and a back end. In oneembodiment, the front end and the back end are similar, and involveoptionally first the creation and storage of sets of fields andpatterns, and second the combination of fields and patterns for use inprogramming the device, or otherwise first the programming of fields andpatterns directly onto the device, where in some embodimentsfilers/optimizers are acting online to limit or modulate programming, orsuggest alterations in programming which may optionally be selected bythe programmer. In one embodiment, the front end is on one device (e.g.,a Clinician's Programmer (CP, a programming device configured for use bythe user such as a clinician attending the patient in whom implantablesystem 422 is placed), a computer, or an application on a smartphone)and the back end is elsewhere (e.g., “the cloud”, the user'scomputer/server, or the manufacturer's computer/server).

In one embodiment, the first act of creating fields and patterns can bedone without a patient present, and optionally on a device other than aCP. For example, the fields and patterns may be created based oninformation collected and/or derived from a patient population and/oreach individual patient. Such information may be used to develop and/orcustomize computational models representing portions of a patient'snervous system for evaluating responses to neurostimulation, such as oneor more neuronal network models 750.

Table 1 shows an example of fields (spatial patterns) and waveforms(temporal patterns) stored in a library such as pattern library 748.Table 2 shows an example of fields and waveforms used to generate aspatio-temporal pattern of neurostimulation.

TABLE 1 Fields Waveforms F1 P1 F2 P2 . . . . . . FN PN

TABLE 2 Fields Waveforms F1 P1 + P2 F2 + F3 P2 + P3, P1 . . . . . . FNPN

In one embodiment, fields and patterns are combined in a programmingdevice (also referred to as a “player”), such as external programmingdevice 702, in a manner in which the patient must experience somecomplete set or representative set of stimulation before settings can besaved to stimulator. In one embodiment, this representative set ofstimulation may not be identical to the full programmed settings, butmay include highlights that are automatically chosen, optionally withinput from the user. For example, in the case where two fields (F's) andpatterns (waveforms, P's) are chosen where each pattern has a longrun-time and they are run serially, the experiential program may be thefirst N seconds of field 1 (F1) pattern 1 (P1), following by the first Nseconds of field 2 (F2) pattern 2 (P2). In one embodiment, the systemmay automatically generate a set of fields and patterns which are notidentical to any whole fields and patterns or portions of fields andpatterns created by the user, and this trial setting or set of settingscan be used to determine that the proposed settings may be programmed.

In one embodiment, fields and patterns are entered into the player, andadditional parameters are automatically used to adjust the stimulation.As an example, F1P1 and F2P2 are entered, but a desirable outcomeinvolves the random alternation between F1P1 and F2P2, such that theplayer automatically sets programming settings related to, for example,the relative durations of F1P1 vs. F2P2.

In one embodiment, fields and patterns are entered into the player, andadditional parameters are entered by the user to control the playing ofthe composition (i.e., controlling the delivery of neurostimulationaccording to the pattern of neurostimulation composed with the fieldsand patterns). In various embodiments, fields and patterns are enteredinto the player, and additional parameters are automatically generatedby the player to control the playing of the composition. In variousembodiments, the user can set general settings in the player, and suchgeneral settings are applied to all the field and pattern sets, forexample upon being programmed in the patient for the first time (e.g.,an initial stim amplitude ramp of 10 seconds).

In one embodiment, patterns can be programmed to play simultaneously (incombination) or serially (one at a time). For example, P1 may be a 40 Hzsignal of square pulse shape of pulse width 20 μs, and P2 may be an 80Hz signal with triangular pulse shape of pulse width 100 μs. Thecombination of P1 and P2 may be written as P1+P2 and result in bothpatterns playing simultaneously with some field or combination offields, where P1 and P2 have a constant phase alignment. Alternatively,P1 and P2 may each have an associated duration, and play serially.

In one embodiment, patterns which can play simultaneously with allpatterns without modification to any of the patterns are allowed, andpatterns which would require e.g., arbitration are not allowed. In oneembodiment, rows in Table 2 are played serially. In one embodiment,fields and patterns can be created as separate units, and combined for“playback”. “Tracks” (rows in Table 2) can be set to repeat (e.g.,continuously or for a specified number of repetitions), and sub-units ofthe track may be grouped for playing.

B. Neuronal Network Model

FIG. 8 illustrates an embodiment of a multi-nodal neuronal network model850. Computational network models exist for various neuromodulationindications. These extant models, or new models, often representsimplified subunits of a functional whole. Each of these units may bereplicated in order to form a multi-nodal model. This multi-nodal modelmay then be used to drive hypothesis generation, or be used in an“on-line” fashion, in some embodiments with live feedback and alterationof the model or its components, in order to improve programming ofneurostimulation devices. In various embodiments, the one or moreneuronal network models comprise at least one multi-nodal modelincluding a plurality of nodes each representing a functional subunit ofa nervous system. Such functional subunits may correspond to ananatomical subunit in the modeled portion of a nervous system or anabstraction that account for a function of the modeled portion of thenervous system. By way of example and not by way of limitation, neuronalnetwork model 850 as illustrated in FIG. 8 includes a center node andsix surround nodes 1-6. In various embodiments, neuronal network model850 can include any number of interconnected nodes. Each of these nodesmay represent a complete model or repetitions of a subset of the model.In various embodiments, neuronal network model 850, or any portion ofneuronal network model 850, can be based on an existing model or anexisting model augmented by one or more new components for a particularapplication (e.g., neurostimulation for a particular condition). Theinterconnections between these nodes may yield an overlapping repeatingpattern of “receptive fields” and “surround fields” for each node inneuronal network model 850. This quality of the model may yieldsensitivity to particular fields, patterns, or combinations of either orboth. The connections between these nodes are represented as aconnectivity matrix in FIG. 8. The strengths of various connectionsbetween nodes or elements of nodes may similarly be controlled, as wellas the temporal delay between nodes or elements of nodes. In oneembodiment, the importance given to any particular node of neuronalnetwork model 850 during some evaluation may also be scaled by aweighting map. Node or elements of nodes may be differently weightedwhen calculating some output metric.

Multiple multi-nodal models such as neuronal network model 850 may beemployed when evaluating some output metric such as, by way of exampleand not by way of limitation, a first multi-nodal model representingneural elements, and a second multi-nodal model representing supportingglial structures. These models may be functionally separated, outputmetrics from each may be calculated, and post-processing may take intoaccount the results from each model when computing e.g., measures ofsuccess. Or, the models may functionally related, such that changes inone model propagate changes in the second. More than two models may beinterconnected.

FIG. 9 illustrates an embodiment of a neuronal network model(hereinafter “Zhang Model”), which is discussed in T. C. Zhang, J. J.Janik, and W. M. Grill, “Modeling effects of spinal cord stimulation onwide-dynamic range dorsal horn neurons: influence of stimulationfrequency and GABAergic inhibition”, J Neurophysiol 112: 552-567, 2014.FIG. 10 illustrates an embodiment of the Zhang model that is acomputational network model of the dorsal horn circuit. The model has anetwork architecture that is based on schemes of dorsal horn nociceptiveprocessing, with biophysically based compartmental models of dorsal hornneurons connected via representations of excitatory and inhibitorysynapses. As shown in FIG. 9. The model includes local neural elements(Aβ, Aδ, and C fibers), surrounding neural elements (different Aβfibers), inhibitory (IN) interneurons, an excitatory (EX) interneuron,and a wide-dynamic range (WDR) projection neuron in the dorsal horn.Parameters of the model can be determined and tuned using experimentaldata. Representation of SCS can be applied to the dorsal column input.In various embodiments, neuronal network model 850 can include multipleinterconnected nodes, such as mutually inhibitory nodes. Each node caninclude a Zhang model such as the model illustrated in FIG. 9.

Alternately, each node consists of a model in which the neurons of theZhang model are replaced by simpler models of neurons (e.g. the neuronsare replaced by perfect or generalized integrate and fire neurons andthe synapses are replaced by simple synaptic models, for example asdiscussed in Peter Dayan and L. F. Abbott, Theoretical Neuroscience,Chapter 7 (MIT Press 2001). The model parameters are fit so that the WDRneuron exhibits a U shaped turning curve: firing rate is lowest for acertain range of frequencies of inputs, as illustrated in FIG. 10. Invarious embodiments, the firing rate may represent the firing rate of asingle neuron, an average firing rate for a plurality of neurons, acumulative firing rate for a plurality of neurons, or a computed firingrate resulting from a mathematical or statistical operation. Thisalternative model is a substantial simplification of the Zhang model butmay capture essential features of the Zhang model. A furthersimplification may involve considering each node as a generalizedintegrate and fire neuron with reciprocal inhibition to neighboringnodes, and the model parameters being fit to experimental data from WDRneurons as discussed in Wulfram Gerstner and Werner M. Kistler, SpikingNeuron Models, Chapter 4 (Cambridge University Press, 2002).

In various embodiments in which a multi-nodal neural network model isused, delivery of neurostimulation can be represented as an inputdelivered to a collection of nodes in a spatio-temporally specificmanner. The output of the multi-nodal neural network model can indicatethe effects of the delivery of neurostimulation, including therapeuticand/or side effect(s).

The inhibition of adjacent nodes can be tuned by measuring theperception threshold due to activation of one node and the percentagechange in this threshold caused by activation of an adjacent node.However, it is also possible that the results found is robust to a widerange of choices of mutual inhibition, and tuning the mutual inhibitionwould be unnecessary.

In various embodiment, to optimize a spatio-temporal pattern ofneurostimulation, a neuronal network model can be run with a wide rangeof spatio-temporal patterns and pulse shapes with the goal of minimizingthe WDR output for specific groups of adjacent nodes over a wide dynamicrange. The spatio-temporal pattern of neurostimulation that provide foran approximately minimum WDR output can be used to generate an initialset of the plurality of stimulation parameters controlling delivery ofneurostimulation pulses from a stimulation device such as implantablestimulator 404.

In one embodiment, each node of a multi-nodal neural network modelrepresents a paresthesia locus (or other loci, as discussed under“Paresthesia-Guided Field Selection” below). In this case, the modelwould consist of as many nodes as are necessary to capture theparesthesia loci and some additional nodes to capture the inhibitoryeffects of regions that may not directly be related to pain.

C. Neurostimulation for Cumulative Effects

In various embodiments, neurostimulation can be delivered to differentfields, with different waveforms, and/or at different times forcumulative effects. For example, it may be desirable to enforce somestimulation effect while keeping certain stimulation thresholds (e.g.,sub-paresthesia threshold) at each stimulation location.

In one embodiment, many repeated deliveries of neurostimulation alongselected neural elements (e.g., a bundle of axon fibers) may implyrepeated stimulations along the long axis of a lead in order to havemany chances to result in an effect of the neurostimulation (e.g., aneffect that depends on absolute timing to a signal which cannot besynced to). In one embodiment, a neuronal network model such as neuronalnetwork model 850 is used to determine how repetitions of the neurostimulation can be configured, for example, in space (e.g., not repeatedwithin 5 mm, or 1.5 times the width of the volume of tissue activated)or in time (e.g., not repeated within 12 ms, or not within 2 synapticdelays and 4 ms of conduction delay).

In various embodiments, using a neuronal network model such as neuronalnetwork model 850, a first set and a second set of programmingparameters can be designed, where the application of neither set alonehas the desired effect, but the application of both sets yields thedesired effect. This concept can be extended to more than two sets ofprogramming parameters which have a synergistic relationship. Forexample, the application of one set may result in a desired effect butwith undesired side effects, and the application of the other set mayabate the side effects. This occurs in a manner that can be more complexthan, for example, simply using flanking anodes to shrink the activatingfield of some cathodes.

FIG. 11 illustrates an embodiment of neurostimulation for cumulativeeffects. In FIG. 11, stimulation times t_(N) represent phase alignments(relative rather than absolute time). Cumulative stimulation regions maybe close to each other or far apart from each other in space. Theseregions may target the same or similar neural elements at multiplelocations, or may target related neural elements at various positionswithin their network. Stimulation regions may be tightly or moreseparated in space. In FIG. 11, the locations of t_(N)(F_(N), P_(N))illustrate approximate field locations. In various embodiments, aneuronal network model such as neuronal network model 850 can be used toanalyze the cumulative effects of neurostimulation applied according tot_(N)(F_(N), P_(N)). In various embodiments, a neuronal network modelsuch as neuronal network model 850 can be used to determine anapproximately optimal set of t_(N)(F_(N), P_(N)) for achieving specifieddesirable cumulative effects.

D. Robust Configuration for Neurostimulation

In various embodiments, optimization of stimulation configurations caninclude searching for stimulation configurations that are robust(meeting the objective to the greatest possible extent) under a range ofchanging conditions. Value and applicability of a stimulationconfiguration is greater for increasing number of conditions in which itperforms well, even though under some of these conditions a differentconfiguration may perform better. Such optimization of stimulationconfigurations is referred to as robust configuration forneurostimulation. In various embodiments, such robust configuration forneurostimulation can be performed using a neuronal network model such asneuronal network model 850.

In various embodiments, the robust configuration for neurostimulationcan be applied to design a stimulation field shape which is robust tosmall changes in absolute or relative position, for example, withrespect to a target or reference structure of interest (e.g., midline,vertebral level, large vessels, numbered or physiologically identifiedroot) in the patient's body. Examples of such small changes includeelectrode displacement after implantation in the patient, physiologicalor anatomical changes in the patient over time, and physiological oranatomical variances among patients. In such examples, the robustconfiguration for neurostimulation can reduce the need for adjustment ofsettings for each patient over time and/or reduce the extent ofcustomization for each patient.

In various embodiments, the robust configuration for neurostimulationcan be applied to design a stimulation pattern that is robust to changesin absolute or relative temporal alignment with one or more signals suchas evoked compound action potential (ECAP), firing of a particularneuron, and natural or pathological signal peak frequency. The absoluteor relative temporal alignment refers to the action being early or latefrom a desired time by a fixed amount, e.g., 1 minute or 1 second.Relative alignment refers to some characteristic of the desired timing.

In various embodiments, concepts of machine learning and decision-makingcan be employed, e.g., fuzzy optimization, multi-objectiveoptimizations, or robust optimization may be employed in the robustconfiguration for neurostimulation.

In various embodiments, limits can be placed on the deviation allowablebetween maximum effect found and robust effect sought. For example, arobust configuration for neurostimulation results in a pattern or field,which has a metric of score ‘X’, this method would only considerpatterns or fields with score X·α, where 0<α<1.

E. Multi-Step Optimization

In various embodiments, analysis using a neuronal network model such asneuronal network model 850 may suggest that a particular combination oftwo stimulation fields is desirable, but the relative locations of thesetwo fields may depend on an individual patient's anatomy and physiology.Under such circumstances, a first field and waveform combination may beoptimized, and then the other field and waveform combinations can beoptimized with respect to the first field and waveform while the firstfield and waveform combination is being applied to deliverneurostimulation. In various embodiments, the two fields can bespecified by using a neuronal network model, such as neuronal networkmodel 850, to be applied in combination for achieving a specifiedeffect.

FIG. 12 illustrates an embodiment of multi-step optimization. Asillustrated in FIG. 12, a first field (F1) and areas of effects ofdelivering neurostimulation through the first field (EFFECT 1, EFFECT2)are illustrated, and a second field (F2) is illustrated as being moved.The areas EFFECT 1 and EFFECT 2 each illustrate a region within whichthe response to the neurostimulation delivered through the first fieldis within a certain range, regardless of the position of the secondfield. These areas may be referred to as “false color map” when theareas are each coded in color. In various embodiments, areas EFFECT 1and EFFECT 2 may each depict the intensity of a variable in a2-dimensional plane. The first field may be placed according to one ormore criteria, and then the second field may be placed with respect tothe first field according to one or more criteria. In variousembodiments, when the second field is optimized, the first field can befurther optimized due to interaction with the second field. This can berepeated until the outcome is satisfactory.

F. Paresthesia-Guided Field Selection

In various embodiments, stimulation-induced sensations (such asparesthesia) can be used to guide spatial loci used for spatio-temporalmethods. For example, sensation loci (such as paresthesia loci) can beidentified and used as a starting point for identifying optimal fieldsfor pain-control stimulation. In some cases, one or more locations ofparesthesia created by neurostimulation correspond to regions ofinterest for applying the pain-control stimulation. Simulation with theZhang Model (FIG. 9) for dual-frequency neurostimulation showed thatmultiple groups of neurons excited at distinct frequencies can reduceaverage WDR output (pain surrogate). While paresthesia is discussed as aspecific example of stimulation-induced sensation, the present subjectmatter as applied using paresthesia loci can also be applied moregenerally to sensation loci. Thus, in the following discussions aboutparesthesia-guided field selection, “paresthesia” can be replaced withstimulation-induced sensation or a particular type ofstimulation-induced sensation, and “paresthesia loci” can also bereplaced by “sensation loci”, which include spatial loci of thestimulation-induced sensation or the particular type ofstimulation-induced sensation. In other words, the paresthesia-guidedfield selection as discussed in this document can be applied assensation-guided field selection with the sensation being anystimulation-induced sensation or one or more particular types ofstimulation-induced sensation.

With closed loop optimization of patterns of neurostimulation, thepresent system can help select the stimulation fields to be used. Manyaspects of the present system can be applied as improvements tocoordinated reset types of stimulation, since coordinated reset usesmultiple field locations (but with a very specific temporal method).

FIG. 13 illustrates an embodiment of identifying stimulation loci thatgenerate paresthesia in a part of a body. FIG. 13 shows stimulation loci(1, 2, 3, X, and Y) associated with neurostimulation delivered throughselected electrodes on two leads (LEAD 1 and LEAD 2), and theircorresponding paresthesia loci. Current-steering and neural targetingprograms (such as Illumina3D™ by Boston Scientific NeuromodulationCorporation) are able to identify multiple loci that generateparesthesia in a part of the body. It is possible that these stimulationloci correspond to distinct groups of “local” axons (although, eventhough the patient feels the paresthesia in a similar location, it islikely that there is surround inhibition connectivity). Therefore, thecurrent-steering and neural targeting programs can be used to findgroups of “local” neural elements for which spatio-temporal methods canbe employed using a dual or multiple stimulation frequencies. Often, itis possible to find more than 2 loci, and it is likely that more thantwo groups would be able to improve over two groups. Candidate temporalpatterns include: (1) dual-frequency mode stimulation (deliveringneurostimulation with two different stimulation frequenciessimultaneously to different fiber populations, e.g., T. C. Zhang, J. J.Janik, and W. M. Grill, “Modeling effects of spinal cord stimulation onwide-dynamic range dorsal horn neurons: influence of stimulationfrequency and GABAergic inhibition”, J Neurophysiol 112: 552-567, 2014),(2) patterns derived from a model for multiple groups of local and/orsurround neural elements using computational optimization, (3) patternsderived from a model for multiple groups of local and/or surround neuralelements using pre-clinical model optimization, (4) patterns derivedfrom a model for multiple groups of local and/or surround neuralelements using in-vivo optimization via e-diary feedback by patient orobjective quantitative measures (e.g., activity, heart rate variability,etc.), and (5) stimulation patterns similar to coordinated reset type ofstimulation (desynchronized neurostimulation based on temporallycoordinated phase resets of sub-populations of a synchronized neuronalensemble, e.g., P. A. Tass, Desynchronization by Means of a CoordinatedReset of Neural Sub-Populations, Progress of Theoretical PhysicsSupplement, No. 150, 281-296 (2003)).

It is possible to identify regions of stimulation that are neighboringwith no or some (but not complete) overlap (e.g., X and Y in FIG. 13).Inclusion of these “surround” regions in the spatio-temporal method canbe used. These regions may not be as sensitive as a pain region, but maybe stimulated to participate in the surround inhibition effect.

Using current-steering and/or neural targeting programs with tightcontact spacing can be a particularly good way to selectively stimulatedorsal roots or portions of a dorsal root. That is, by choosingstimulation loci that are lateral (near to each other in theneighborhood of the root), one may be able to select for stimulationmultiple groups of neurons (perhaps overlapping) that pertain to acommon part of the body and a common neural network.

In one embodiment, several root-based stimulation loci are selected forthe spatio-temporal method. In one embodiment, both dorsal column anddorsal root-based loci are selected.

In one embodiment, in addition to multiple loci, multiple waveforms areused in the spatio-temporal method. These waveforms are designed tomodulate different groups (possibly overlapping) of neural elements atdifferent times (e.g., pre-pulse, long-duration pulse, with and withoutanodic intensification, etc.).

In one embodiment, stimulation of surround areas is preferred because itdoes not include WDR excitation in the painful region but does includeinhibition. For example, stimulation in the surround region can beinitiated, and then over time the stimulation reaches the painful region(i.e., the pain region is squeezed with stimulation over time).

FIGS. 14 and 15 each illustrate an embodiment of a stimulation locusover roots identified via a paresthesia-based method. In one embodiment,paresthesia is used to identify a locus in lead or anatomy space thatcorresponds to paresthesia at or surrounding the painful region, andbased on that locus, a number of other loci are automatically selected.As illustrated in FIG. 14 for example, a symbol X represents astimulation locus over the roots identified via a paresthesia-basedmethod. Once X is selected as a good “starting point”, the system canautomatically select a number of other spatially related points (such asthe points indicated by the dots above and below X. Inputs may be fed tothe neuronal network model, e.g. the paresthesia map, or fluoroscopyimages, or a selection made from a set of presets, then the system canrun the model, or use information or simulations. As illustrated in FIG.15 for another example, the symbol X represents a stimulation locus overthe dorsal columns identified via a paresthesia-based method. Once X isselected as a good “starting point” the system can automatically selecta number of other spatially related points (such as the points indicatedby the dots around the symbol X). In some embodiments, the spatialarrangement of the additional points is pre-selected for the user. Inanother embodiment, the user can create or modify the arrangement of theadditional points relative to the starting point or points. In oneembodiment, the user has access to or can create a library of spatialarrangements (e.g., an arrangement for roots, an arrangement forcolumns, a tight arrangement (perhaps for focal pain), a broadarrangement (perhaps for complex diffuse pain), etc.).

G. Anatomy-Guided Field Selection

In various embodiments, anatomy is used to guide spatial loci used forspatio-temporal methods. Referring to FIGS. 14 and 15, anatomy-guidedfield selection is similar to the paresthesia-guided field selection asdiscussed above, except for that the “starting point” is based onpatient anatomy, pain region, and lead positions. For example, for leftfoot pain, a specific anatomically-based point or set of points might bechosen as the starting point or center of a set of points. This methoduses existing knowledge between anatomical relationship between thelocation of pain and sites for stimulation that may control the pain.

In one embodiment, the set of points is further selected based on the“lead or electrode coverage” of the region to be modulated. In oneembodiment, the user identifies or “paints” the pain loci on a“paresthesia person” and the group of points for the spatio-temporalmethod is automatically chosen based on a look-up table. In oneembodiment, the pain diagnosis is another dimension used to select thepoints and/or other stimulation parameter in the spatio-temporal method.In one embodiment, the pain region and diagnosis can be entered into asystem prior to lead placement, and the system will show the user wherelead or electrode coverage is desired.

H. Spatio-Temporal Filtering to Reduce Spatial Sensitivity

In various embodiments, spatio-temporal filtering within a region ofinterest (ROI) is applied to reduce sensitivity to the field in thepatient's response to the neurostimulation. FIG. 16 illustrates anembodiment of an ROI for using spatio-temporal filtering to reducespatial sensitivity. Success of neurostimulation may be contingent ondelivering stimuli to exactly the right spot to engage exactly the rightneural elements. When identifying and/or maintaining the exact locationfor such a “right spot” is difficult, an alternative is to use a filterto modulate the information that is generated or conveyed through a ROIthat is less spatially specific than the “right spot.”

FIG. 16 shows an example ROI that is chosen for filtering. A largeamount of neural information is generated in or propagates through theROI, and a “filter” that uses a spatio-temporal method can be used topredict the information that reaches the neural or neuronal targetsafter being modulated through the ROI, as further discussed below withreference to FIG. 18. Examples of neural elements in the ROI (the neuraltargets illustrated in FIG. 16) that convey or process “information”include dorsal roots, dorsal columns, pre-synaptic and post-synapticdorsal horn, and dorso-lateral finniculus.

Various spatio-temporal patterns could be useful in various embodiments.In one embodiment, the ROI is divided into a number of sub-regions, andeach of the sub-regions or groups of sub-regions are electricallymodulated at different points in time. FIG. 17 illustrates an embodimentof an ROI, such as the ROI of FIG. 16, divided into a plurality ofsub-regions. In FIG. 17, the numbers can represent electrodes on apaddle lead, which in turn should stimulate distinct, but overlappingsub-regions. The timing could be determined by pseudo-random generator,noise simulating process, Poisson process, a regular pattern asdetermined randomly or optimized, guided by heuristic rules, etc. Oneexample of optimization to generate an order-of-modulation to thesub-regions might be to choose to maximize a space-time distance measure(e.g., SpaceTimeDist=Σ_(i) ^(n)Σ_(j) ^(n)(r_(ij)+Δt_(ij)) for n points,where r_(ij) is a measure of distance between i and j, and delta-t is ameasure of time between i and j, and the measures areweighted/normalized appropriately). In one embodiment, the user is ableto choose properties of the filter. For example: the average timerequired to cycle through every point in the filter, the statisticalcharacteristics of a stochastic, random, or noisy process. In oneembodiment, pulse-width, and/or amplitude, and/or pulse-shape, are alsodimensions through which there is pulse-to-pulse variability. In oneembodiment, typical inter-pulse durations correspond to frequencies inthe range of 10 Hz-100 Hz (similar to the dual frequency stimulation).In another embodiment, the inter-pulse durations correspond tofrequencies in the range of in the range of 100 Hz to 100 kHz. In oneembodiment, particularly long pulses greater than 1 ms are used andneural firing for different neural elements happens at different timesduring the pulse. In one embodiment, the pulse duration is at least 2 msor even 5 ms. In one embodiment the shapes of the pulses also change ona pulse-to-pulse basis such that the recruitment characteristic changeson a pulse-to-pulse basic.

FIG. 18 illustrates an embodiment of a process using the spatio-temporalfiltering to reduce spatial sensitivity. The input to the ROI filter isthe stimulation applied to a point in the ROI, the output of the ROIfilter is the stimulation that would actually apply to a target spot inthe neural targets, and the neuronal network model is used to producethe output given the input. The results of the process provides for aprediction of a region to which neurostimulation can be delivered toproduce one or more specified effects.

Similar to the anatomy-guided field selection, in one embodiment, theROI is automatically selected, for example, based on pain location, paindiagnosis, and/or lead location. In one embodiment, a plurality ofspatially disparate ROIs can be used. In one embodiment, the number ofsub-regions is a default number, such as 4. In another embodiment, thenumber of sub-regions can be changed by the user and can be up to tensof thousands. In one embodiment, the stimulation or modulation field foreach sub-region is determined by an algorithm like the neural targetingprogram (e.g., Illumina3D™) for a given set of leads. In such anembodiment, the user may use target field shapes like tripoles or mayselect other shapes (e.g., monopoles, transverse fields, or otheruser-defined method). In one embodiment, the “modulation intensity” iskept within a specific range by using “normalized” values according to astrength-duration characteristic (to manage PW and Amplitude trade off)or according to another normalization approach (e.g., non-linear modelthreshold evaluation).

ADDITIONAL EXAMPLES

In addition to those discussed in the SUMMARY section above,non-limiting examples of the present system are provided as follows:

(A. Neurostimulation Programming Using Neuronal Network Model)

In Example 1, a system for programming a neurostimulator to deliverneurostimulation pulses through a plurality of electrodes may include astorage device, a programming control circuit, and a pattern generator.The storage device may be configured to store a pattern library and oneor more neuronal network models. The pattern library includes: aplurality of fields each specifying one or more electrodes selected fromthe plurality of electrodes and a spatial distribution of the selectedone or more electrodes; and a plurality of waveforms each specifying atemporal pattern of a sequence of the neuromodulation pulses. The one ormore neuronal network models are each a computational model configuredto allow for evaluation of one or more fields selected from theplurality of fields in combination with one or more waveforms selectedfrom the plurality of waveforms for one or more therapeutic effects intreating one or more indications for neuromodulation. The programmingcontrol circuit may be configured to generate a plurality of stimulationparameters controlling delivery of neurostimulation pulses from theneurostimulator according to a spatio-temporal pattern ofneurostimulation specifying a sequence of neurostimulation pulsesgrouped as one or more spatio-temporal units each including one or morefields selected from the plurality of fields in combination with one ormore waveforms selected from the plurality of waveforms. The patterngenerator may be configured to generate the spatio-temporal pattern ofneurostimulation and includes: a pattern editor configured to constructone or more of the plurality of fields, the plurality of waveforms, theone or more spatio-temporal units, or the spatio-temporal pattern ofneurostimulation; and a pattern optimizer configured to approximatelyoptimize one or more of the plurality of fields, the plurality ofwaveforms, the one or more spatio-temporal units, or the spatio-temporalpattern of neurostimulation using at least one neuronal network model ofthe one or more neuronal network models.

In Example 2, the subject matter of Example 1 may optionally beconfigured to include a first programmer configured to program theneurostimulator via a communication link and includes a programmingoutput circuit to transmit the plurality of stimulation parameters tothe neurostimulator, the programming control circuit coupled to theprogramming output circuit, and a user interface. The user interfaceincludes a display screen, a user input device, and an interface controlcircuit coupled to the display screen and the user input device.

In Example 3, the subject matter of Example 2 may optionally beconfigured such that the first programmer further includes the storagedevice and the pattern generator, and wherein the interface controlcircuit includes the pattern generator.

In Example 4, the subject matter of Example 2 may optionally beconfigured to further include a second programmer configured to becommunicatively coupled to the first programmer. The second programmerincludes the storage device and the pattern generator. The userinterface of the first programmer is configured to allowuser-modification of the spatio-temporal pattern of neurostimulationgenerated by the pattern generator.

In Example 5, the subject matter of any one or any combination ofExamples 1-4 may optionally be configured such that the one or moreneuronal network models are configured to allow the pattern generator togenerate an initial version of the spatio-temporal pattern ofneurostimulation without presence of a patient.

In Example 6, the subject matter of any one or any combination ofExamples 2-5 may optionally be configured such that the user interfaceis configured to allow testing of the spatio-temporal pattern ofneurostimulation and to allow saving of only the tested spatio-temporalpattern of neurostimulation for use by the programming control circuitto generate the plurality of stimulation parameters.

In Example 7, the subject matter of Example 6 may optionally beconfigured such that the user interface is configured to allow testingof the spatio-temporal pattern of neurostimulation using a test patternrepresentative of the spatio-temporal pattern of neurostimulation.

In Example 8, the subject matter of Example 7 may optionally beconfigured such that the pattern generator is configured to generate thetest pattern being a shortened version of the spatio-temporal pattern ofneurostimulation that includes all of the one or more spatio-temporalunits of the spatio-temporal pattern of neurostimulation.

In Example 9, the subject matter of Example 7 may optionally beconfigured such that the pattern generator is configured to generate thetest pattern including various spatio-temporal units for determining theone or more spatio-temporal units used in the spatio-temporal pattern ofneurostimulation.

In Example 10, the subject matter of any one or any combination ofExamples 1-9 may optionally be configured such that the patterngenerator is configured to automatically produce parameters forgenerating the spatio-temporal pattern of neurostimulation after the oneor more spatio-temporal units are specified.

In Example 11, the subject matter of Example 10 may optionally beconfigured such that the pattern generator is configured toautomatically produce the parameters including parameters controlling aduration of each spatio-temporal unit.

In Example 12, the subject matter of Example 10 may optionally beconfigured such that the pattern generator is configured toautomatically produce the parameters including parameters controlling anorder of the spatio-temporal units in the spatio-temporal pattern ofneurostimulation when the one or more spatio-temporal units include aplurality of spatio-temporal units.

In Example 13, the subject matter of any one or any combination ofExamples 1-12 may optionally be configured such that the interfacecontrol circuit is configured to allow user-specification of the one ormore spatio-temporal units.

In Example 14, the subject matter of any one or any combination ofExamples 1-13 may optionally be configured such that the one or morespatio-temporal units include a plurality of spatio-temporal units, andthe pattern generator is configured to generate the spatio-temporalpattern of neurostimulation including two or more spatio-temporal unitsof the plurality of spatio-temporal units to be arranged concurrently orsequentially in time.

In Example 15, the subject matter of Example 14 may optionally beconfigured such that the pattern generator is configured to allow thetwo or more spatio-temporal units of the plurality of spatio-temporalunits to be arranged concurrently in time upon checking specified rulesof compatibility.

(B. Neuronal Network Model)

In Example 16, the subject matter of any one or any combination ofExamples 1-15 may optionally be configured such that the one or moreneuronal network models are each constructed for one of the one or moreindications for neuromodulation.

In Example 17, the subject matter of any one or any combination ofExamples 1-16 may optionally be configured such that the one or moreneuronal network models include at least one multi-nodal model includinga plurality of nodes each representing a functional subunit of apatient's nervous system.

In Example 18, the subject matter of Examples 17 may optionally beconfigured such that the multi-nodal model includes replicated nodesinterconnected to form an overlapping repeating pattern of receptivefields and surround fields for each node of the replicated nodes.

In Example 19, the subject matter of Examples 18 may optionally beconfigured such that the interconnections between the replicated nodeshave adjustable strengths.

In Example 20, the subject matter of any one or any combination ofExamples 18 and 19 may optionally be configured such that theinterconnections between the replicated nodes have adjustable temporaldelays.

In Example 21, the subject matter of any one or any combination ofExamples 17-20 may optionally be configured such that the multi-nodalmodel further includes a weighting map assigning weighting factors toeach node of the plurality of notes for the evaluation of the one ormore fields selected from the plurality of fields in combination withthe one or more waveforms selected from the plurality of waveforms fortherapeutic effects in treating the one or more indications forneuromodulation.

In Example 22, the subject matter of any one or any combination ofExamples 17-21 may optionally be configured such that the one or moreneuronal network models includes a plurality of multi-nodal models eachrepresenting a different functional or structural unit of the patient'snervous system.

In Example 23, the subject matter of any one or any combination ofExamples 17-22 may optionally be configured such that the multi-nodalmodel includes mutually inhibitory nodes.

In Example 24, the subject matter of any one or any combination ofExamples 17-22 may optionally be configured such that the multi-nodalmodel include nodes each including a neuron having a firing rate beinglowest for a range of frequencies at which pulses of theneurostimulation pulses are delivered.

In Example 25, the subject matter of any one or any combination ofExamples 17-24 may optionally be configured such that the multi-nodalmodel include inputs for the neurostimulation pulses to be delivered toa specified collection of nodes of the plurality of nodes in a spatiallyspecific manner.

In Example 26, the subject matter of any one or any combination ofExamples 17-25 may optionally be configured such that the multi-nodalmodel include adjacent nodes of the plurality of nodes with connectionstuned by measuring a perception threshold due to activation of one nodeand a percentage change in that perception threshold caused byactivation of an adjacent node.

In Example 27, the subject matter of any one or any combination ofExamples 17-26 may optionally be configured such that the multi-nodalmodel include one or more nodes each corresponding to an electrode ofthe plurality of electrodes.

In Example 28, the subject matter of any one or any combination ofExamples 17-26 may optionally be configured such that the multi-nodalmodel include one or more nodes each corresponding to a paresthesialocus and an output being a surrogate for pain.

In Example 29, the subject matter of any one or any combination ofExamples 1-28 may optionally be configured such that the one or moreneuronal network models are validated using experimental data.

In Example 30, the subject matter of any one or any combination ofExamples 1-29 may optionally be configured such that the one or moreneuronal network models each include inputs each associated with anelectrode selected from the plurality of electrodes and an outputrepresentative of an indication of the one or more indications forneuromodulation.

(C. Neurostimulation for Cumulative Effects)

In Example 31, the subject matter of any one or any combination ofExamples 1-30 may optionally be configured such that the spatio-temporalpattern of neurostimulation includes a series of sub-patternsconstructed to treat an indication of the one or more indications forneuromodulation.

In Example 32, the subject matter of Example 31 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that pulses of theneurostimulation pulses delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating theindication without causing one or more specified side effects.

In Example 33, the subject matter of Example 32 may optionally beconfigured such that the pattern generator is configured to generateeach sub-pattern of the series of sub-patterns such that pulses of theneurostimulation pulses delivered according to the spatio-temporalpattern of neurostimulation have a cumulative effect in treating painwithout causing paresthesia or without causing an intolerable level ofparesthesia.

In Example 34, the subject matter of any one or any combination ofExamples 31-33 may optionally be configured such that the patternoptimizer is configured to optimize each sub-pattern of the series ofsub-pattern individually using the at least one neuronal network model.

In Example 35, the subject matter of any one or any combination ofExamples 31-34 may optionally be configured such that the one or moreneuronal network models include at least one model including inputscorresponding to one or more fields of the plurality of field specifiedin the series of sub-patterns and outputs each representing an effect intreating an indication of the one or more indication for neuromodulationor a side effect.

In Example 36, the subject matter of any one or any combination ofExamples 31-35 may optionally be configured such that the series ofsub-patterns includes a first sub-pattern constructed to have atherapeutic effect in treating the indication of the one or moreindications for neuromodulation, and an additional sub-pattern.

In Example 37, the subject matter of Example 36 may optionally beconfigured such that the additional sub-pattern is constructed toenhance the therapeutic effect.

In Example 38, the subject matter of any one or any combination ofExamples 36 and 37 may optionally be configured such that the firstsub-pattern is associated with a side effect, and the additionalsub-pattern is constructed to abate the side effect.

In Example 39, the subject matter of any one or any combination ofExamples 36-38 may optionally be configured such that the first andsecond sub-patterns include identical fields selected from the pluralityof fields.

In Example 40, the subject matter of any one or any combination ofExamples 36-38 may optionally be configured such that the first andsecond sub-patterns include different fields selected from the pluralityof fields.

(D. Robust Configuration for Neurostimulation)

In Example 41, the subject matter of any one or any combination ofExamples 1-30 may optionally be configured such that the one or moreneuronal network models include at least one robust model configured toallow for evaluation of one or more fields selected from the pluralityof fields in combination with one or more waveforms selected from theplurality of waveforms for at least one therapeutic effect of the one ormore therapeutic effects under a specified range of conditions.

In Example 42, the subject matter of Example 41 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationfor the at least one therapeutic effect under the specified range ofconditions using the at least one robust model.

In Example 43, the subject matter of Example 41 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationfor the at least one therapeutic effect under a maximum range ofconditions within the specified range of conditions using the at leastone robust model.

In Example 44, the subject matter of any one or any combination ofExamples 41-43 may optionally be configured such that the patternoptimizer is configured to approximately optimize the one or more fieldsselected for the spatio-temporal pattern of neurostimulation using theat least one robust model for minimizing changes in the at least onetherapeutic effect due to a change in the position of each of the one ormore fields relative to a reference structure in the patient.

In Example 45, the subject matter of Example 44 may optionally beconfigured such that the reference structure includes a midline, avertebral level, a large vessel, or a numbered or physiologicallyidentified root, or relative position given another structural orfunctional landmark.

In Example 46, the subject matter of any one or any combination ofExamples 41-45 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation using the at least one robust model forminimizing changes in the at least one therapeutic effect due to achange in a physiological signal sensed from the patient or a change ina signal computed from the physiological signal.

In Example 47, the subject matter of Example 46 may optionally beconfigured such that the change in the physiological signal includes achange in an evoked compound action potential (ECAP), a change in firingof a particular neuron or a particular group of neurons, a change in apeak frequency of the physiological signal.

In Example 48, the subject matter of any one or any combination ofExamples 41-47 may optionally be configured such that the one or moreneuronal network models includes at least one model configured to allowfor the evaluation of the one or more fields selected from the pluralityof fields in combination with the one or more waveforms selected fromthe plurality of waveforms for the one or more therapeutic effects usingmachine learning and decision making.

In Example 49, the subject matter of Example 48 may optionally beconfigured such that the one or more neuronal network models includes atleast one model configured to allow for a fuzzy optimization, amulti-objective optimizations, or a robust optimization of thespatio-temporal pattern of neurostimulation.

(E. Multi-Step Optimization)

In Example 50, the subject matter of any one or any combination ofExamples 1-30 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation in a plurality of optimization steps usingthe at least one neuronal network model.

In Example 51, the subject matter of Example 50 may optionally beconfigured such that the spatio-temporal pattern of neurostimulationspecifies a sequence of neurostimulation pulses grouped as at least afirst spatio-temporal unit and a second spatio-temporal unit of the oneor more spatio-temporal units, and the pattern optimizer is configuredto approximately optimize the first spatio-temporal unit in a firstoptimization step of the plurality of optimization steps andapproximately optimize the second spatio-temporal unit in a secondoptimization step of the plurality of optimization steps.

In Example 52, the subject matter of Example 51 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the second spatio-temporal unit with respect tothe first spatio-temporal unit in the second optimization step.

In Example 53, the subject matter of any one or any combination ofExamples 50 and 51 may optionally be configured such that the patternoptimizer is configured to approximately optimize the firstspatio-temporal unit and the second spatio-temporal unit for a commontherapeutic effect of the one or more therapeutic effects.

(F. Paresthesia-Guided Field Selection)

In Example 54, the subject matter of any one or any combination ofExamples 1-53 may optionally be configured such that the one or moreneuronal network models include a pain model configured to allowoptimization of the spatio-temporal pattern of neurostimulation usingparesthesia as guide.

In Example 55, the subject matter of Examples 54 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationusing the pain model and one or more known paresthesia loci each being aset of fields of the plurality of fields identified for causingparesthesia.

In Example 56, the subject matter of Example 55 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationusing the pain model and at least two known paresthesia loci.

In Example 57, the subject matter of any one or any combination ofExamples 55 and 56 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation by using the one or more known paresthesialoci as fields selected from the plurality of fields and approximatelyoptimizing a waveform associated with each of the selected fields.

In Example 58, the subject matter of any one or any combination ofExamples 55-57 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation by using one or more regions surrounding theone or more known paresthesia loci as fields selected from the pluralityof fields and approximately optimizing a waveform associated with eachof the selected fields.

In Example 59, the subject matter of Example 58 may optionally beconfigured such that the pattern optimizer is configured to optimize oneor more pulse frequencies of the waveform associated with each of theselected fields.

In Example 60, the subject matter of Example 58 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationby using the one or more known paresthesia loci and one or more regionssurrounding the one or more known paresthesia loci as fields selectedfrom the plurality of fields and approximately optimizing a waveformassociated with each of the selected fields.

In Example 61, the subject matter of any one or any combination ofExamples 54-60 may optionally be configured such that the pain model isvalidated using pre-clinical data.

In Example 62, the subject matter of any one or any combination ofExamples 54-61 may optionally be configured such that the pain model isvalidated using clinical data collection from a patient population.

In Example 63, the subject matter of any one or any combination ofExamples 54-62 may optionally be configured such that the pain model isvalidated using data collected from an individual patient.

In Example 64, the subject matter of any one or any combination ofExamples 54-63 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation using dorsal root fields selected from theplurality of fields as the one or more fields specified in thespatio-temporal pattern of neurostimulation, the dorsal root fields eachspecifying one or more electrodes selected from the plurality ofelectrodes to be placed in one or more dorsal roots.

In Example 65, the subject matter of any one or any combination ofExamples 54-64 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation using dorsal column fields selected from theplurality of fields as the one or more fields specified in thespatio-temporal pattern of neurostimulation. The dorsal column fieldseach specify one or more electrodes selected from the plurality ofelectrodes to be placed in one or more dorsal columns.

In Example 66, the subject matter of any one or any combination ofExamples 54-65 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation using a plurality of different waveformsselected from the plurality of waveforms as the one or more waveformsspecified in the spatio-temporal pattern of neurostimulation.

In Example 67, the subject matter of Example 66 may optionally beconfigured such that the pattern optimizer is configured toapproximately optimize the spatio-temporal pattern of neurostimulationby including different spatio-temporal units of the one or morespatio-temporal units, the different spatio-temporal units targetingdifferent regions of the patient's nervous system for delivering pulsesof the neurostimulation pulses at times individually specified for eachregion of the different regions.

In Example 68, the subject matter of any one or any combination ofExamples 57-67 may optionally be configured such that the patternoptimizer is configured to approximately optimize the spatio-temporalpattern of neurostimulation by using the pain model and anatomy ofregions of the one or more known paresthesia loci to identify additionalone or more fields selected from the plurality of fields andapproximately optimizing a waveform associated with each of the selectedone or more additional fields.

In Example 69, the subject matter of any one or any combination ofExamples 57-68 may optionally be configured such that the user interfaceis configured to allow for user-modification of the fields selected bythe pattern optimizer.

(G. Anatomy-Guided Field Selection)

In Example 70, the subject matter of any one or any combination ofExamples 1-53 may optionally be configured such that the one or moreneuronal network models include a pain model configured to allowoptimization of the spatio-temporal pattern of neurostimulation usingone or more locations of pain and one or more target regions to whichneuromodulation is known to suppress the pain as a guide.

In Example 71, the subject matter of any one or any combination ofExamples 1-53 may optionally be configured such that the patternoptimizer is configured to select one or more fields selected from theplurality of fields for use in the spatio-temporal pattern ofneurostimulation based on the one or more locations of pain and one ormore target regions.

In Example 72, the subject matter of any one or any combination ofExamples 70 and 71 may optionally be configured such that the patternoptimizer is configured to identify one or more field for use in thespatio-temporal pattern of neurostimulation based on the one or morelocations of pain and one or more target regions and add the identifiedone or more fields to the plurality of fields if the identified one ormore fields are not already included in the plurality of fields.

In Example 73, the subject matter of any one or any combination ofExamples 70-72 may optionally be configured such that the patternoptimizer includes a look-up table relating the one or more locations ofpain to the one or more target regions, and identify the one or moretarget regions using a pain loci and the look-up table.

In Example 74, the subject matter of any one or any combination ofExamples 70-73 may optionally be configured such that the pain model isfurther configured to allow optimization of the spatio-temporal patternof neurostimulation using pain diagnosis as inputs.

In Example 75, the subject matter of any one or any combination ofExamples 71-74 may optionally be configured such that the patternoptimizer is configured to generate a guide for placing the plurality ofelectrode in the patient based on the one or more fields specified inthe spatio-temporal pattern of neurostimulation.

(H. Spatio-Temporal Filtering to Reduce Spatial Sensitivity)

In Example 76, the subject matter of any one or any combination ofExamples 1-53 may optionally be configured such that the one or moreneuronal network models include a region of interest (ROI) modelrepresenting a specified ROI including a neuronal target and dividedinto a plurality of sub-regions. The ROI model includes a target unitrepresenting the neuronal target and a plurality of surround units eachrepresenting the plurality of sub-regions.

In Example 77, the subject matter of Example 76 may optionally beconfigured such that the ROI model is configured to represent a filterhaving inputs to receive pulses of the neurostimulation pulses receivedin one or more sub-regions of the plurality of sub-regions and an outputrepresenting the pulses as received by the neuronal target.

In Example 78, the subject matter of any one or any combination ofExamples 76 and 77 may optionally be configured such that the neuronaltarget includes one or more neurons of the dorsal roots, dorsal columns,pre-synaptic dorsal horn, post-synaptic dorsal horn, or dorso-lateralfinniculus.

In Example 79, the subject matter of any one or any combination ofExamples 76-78 may optionally be configured such that the ROI model isconfigured to allow for evaluation of the one or more fields selectedfrom the plurality of fields in combination with the one or morewaveforms selected from the plurality of waveforms for one or moretherapeutic effects in treating pain.

In Example 80, the subject matter of any one or any combination ofExamples 76-79 may optionally be configured such that the patternoptimizer is configured to optimize the spatio-temporal pattern ofneurostimulation using the ROI model, and the one or more fields in thespatio-temporal pattern of neurostimulation includes a plurality of ROIfields each specify a spatial distribution of the selected one or moreelectrodes within the ROI.

In Example 81, the subject matter of Example 80 may optionally beconfigured such that the ROI fields each correspond to one or moresub-regions of the plurality of sub-regions.

In Example 82, the subject matter of Example 81 may optionally beconfigured such that the one or more spatio-temporal units of thespatio-temporal pattern of neurostimulation include a plurality of ROIspatio-temporal units each including a field of the plurality of ROIfields in combination with one or more ROI waveforms selected from theplurality of waveforms, the pattern editor is configured to create theplurality of ROI fields, the one or more ROI waveforms, the plurality ofROI spatio-temporal units, and the spatio-temporal pattern ofneurostimulation, and the pattern optimizer is configured to evaluatethe spatio-temporal pattern of neurostimulation.

In Example 83, the subject matter of Example 82 may optionally beconfigured such that the pattern editor is configured to determine anorder of the ROI spatio-temporal units in the spatio-temporal pattern ofneurostimulation using a pseudo-random generator, a noise simulatingprocess, a Poisson process, a random pattern, an optimized pattern, orone or more heuristic rules.

In Example 84, the subject matter of Example 82 may optionally beconfigured such that the pattern editor is configured to determine anorder of the ROI spatio-temporal units in the spatio-temporal pattern ofneurostimulation to maximize a space-time distance measure.

In Example 85, the subject matter of any one or any combination ofExamples 82-84 may optionally be configured such that the pattern editoris configured to allow user adjustment of the plurality of ROI fields,the one or more ROI waveforms, the plurality of ROI spatio-temporalunits, and the spatio-temporal pattern of neurostimulation.

In Example 86, the subject matter of any one or any combination ofExamples 82-85 may optionally be configured such that the pattern editoris configured to create and adjust one or more of pulse amplitude, pulsewidth, or pulse shape of each pulse of the neurostimulation pulses.

In Example 87, the subject matter of any one or any combination ofExamples 76-86 may optionally be configured such that the pattern editoris configured to specify the ROI based on a diagnosis identifying theneuronal target.

In Example 88, the subject matter of Example 87 may optionally beconfigured such that the pattern editor is configured to specify the ROIbased on the diagnosis identifying the neuronal target and locations ofthe plurality of electrodes.

In Example 89, the subject matter of any one or any combination ofExamples 87 and 88 may optionally be configured such that the patterneditor is configured to allow user specification of a number ofsub-regions for the plurality of sub-regions of the ROI.

In Example 90, the subject matter of any one or any combination ofExamples 87-90 may optionally be configured such that the pattern editoris configured to specify a plurality of spatially disparate ROIs.

It is to be understood that the above detailed description is intendedto be illustrative, and not restrictive. Other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the invention should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A system for programming a neurostimulatorconfigured to deliver neurostimulation energy through a plurality ofelectrodes, the system comprising: a storage device configured to store:a pattern library including: a plurality of fields each specifying aspatial distribution of the neurostimulation energy across the pluralityof electrodes; and a plurality of waveforms each specifying a temporalpattern of the neurostimulation energy; and one or more neuronal networkmodels each being a computational model configured to allow forevaluating effects of one or more fields selected from the plurality offields in combination with one or more waveforms selected from theplurality of waveforms in treating one or more indications forneuromodulation; and a pattern generator configured to generate aspatio-temporal pattern of neurostimulation specifying a sequence of oneor more spatio-temporal units each including one or more fields selectedfrom the plurality of fields in combination with one or more waveformsselected from the plurality of waveforms, the spatio-temporal pattern ofneurostimulation including a series of sub-patterns generated forproducing a cumulative effect in treating an indication of the one ormore indications for neuromodulation, the pattern generator including: apattern editor configured to construct one or more of the plurality offields, the plurality of waveforms, the one or more spatio-temporalunits, or the spatio-temporal pattern of neurostimulation; and a patternoptimizer configured to optimize the spatio-temporal pattern ofneurostimulation based on the cumulative effect produced by the seriesof sub-patterns using at least one neuronal network model of the one ormore neuronal network models.
 2. The system of claim 1, wherein thepattern generator is configured to generate different sub-patterns to bethe series of sub-patterns for causing portions of the neurostimulationenergy delivered according to the spatio-temporal pattern ofneurostimulation to produce a specified therapeutic effect in treatingthe indication without causing one or more specified side effects. 3.The system of claim 2, wherein the pattern generator is configured togenerate the series of sub-patterns for causing portions of theneurostimulation energy delivered according to the spatio-temporalpattern of neurostimulation to produce a therapeutic effect in treatingpain without causing paresthesia, without causing an intolerable levelof paresthesia, or while causing a desirable type sensation.
 4. Thesystem of claim 3, wherein the pattern optimizer is configured tooptimize each sub-pattern of the series of sub-patterns individuallyusing the at least one neuronal network model.
 5. The system of claim 4,wherein the at least one neuronal network model comprises inputscorresponding to one or more fields of the plurality of fields specifiedin the series of sub-patterns and outputs each representing an effect intreating an indication of the one or more indication for neuromodulationor a side effect.
 6. The system of claim 1, wherein the series ofsub-patterns comprises a first sub-pattern constructed to have atherapeutic effect in treating the indication of the one or moreindications for neuromodulation, and an additional sub-pattern.
 7. Thesystem of claim 6, wherein the additional sub-pattern is constructed toenhance the therapeutic effect.
 8. The system of claim 7, wherein thefirst sub-pattern is associated with a side effect, and the additionalsub-pattern is constructed to abate the side effect.
 9. The system ofclaim 8, wherein the first and additional sub-patterns comprisesidentical fields selected from the plurality of fields.
 10. The systemof claim 8, wherein the first and additional sub-patterns comprisedifferent fields selected from the plurality of fields.
 11. A method forprogramming a neurostimulator, the method comprising: providing apattern library including: a plurality of fields each specifying aspatial distribution of the neurostimulation energy across the pluralityof electrodes; and a plurality of waveforms each specifying a temporalpattern of the neurostimulation energy, providing one or more neuronalnetwork models each being a computational model configured to allow forevaluating effects of one or more fields selected from the plurality offields in combination with one or more waveforms selected from theplurality of waveforms in treating one or more indications forneuromodulation; and generating a spatio-temporal pattern ofneurostimulation specifying a sequence of one or more spatio-temporalunits each including one or more fields selected from the plurality offields in combination with one or more waveforms selected from theplurality of waveforms, wherein the spatio-temporal pattern ofneurostimulation includes a series of sub-patterns generated forproducing a cumulative effect in treating an indication of the one ormore indications for neuromodulation, and generating the spatio-temporalpattern of neurostimulation includes optimizing the spatio-temporalpattern of neurostimulation based on the cumulative effect produced bythe series of sub-patterns using at least one neuronal network model ofthe one or more neuronal network models.
 12. The method of claim 11,wherein generating the spatio-temporal pattern of neurostimulationcomprises generating different sub-patterns to be the series ofsub-patterns for causing portions of the neurostimulation energydelivered according to the spatio-temporal pattern of neurostimulationto produce a specified therapeutic effect in treating the indicationwithout causing one or more specified side effects.
 13. The method ofclaim 12, wherein generating the spatio-temporal pattern ofneurostimulation comprises generating the series of sub-patterns forcausing portions of the neurostimulation energy delivered according tothe spatio-temporal pattern of neurostimulation to produce a therapeuticeffect in treating pain without causing paresthesia or without causingan intolerable level of paresthesia.
 14. The method of claim 13, whereingenerating the spatio-temporal pattern of neurostimulation comprisesoptimizing each sub-pattern of the series of sub-patterns individuallyusing the at least one neuronal network model.
 15. The method of claim14, wherein providing one or more neuronal network models comprisesproviding the at least one neuronal network model with inputscorresponding to one or more fields of the plurality of field specifiedin the series of sub-patterns and outputs each representing an effect intreating an indication of the one or more indication for neuromodulationor a side effect.
 16. The method of claim 11, wherein generating thespatio-temporal pattern of neurostimulation comprises: constructing afirst sub-pattern of the series sub-patterns to have a therapeuticeffect in treating the indication of the one or more indications forneuromodulation; and constructing an additional sub-pattern of theseries sub-patterns.
 17. The method of claim 16, wherein constructingthe additional sub-pattern comprises constructing the additionalsub-pattern to enhance the therapeutic effect.
 18. The method of claim17, wherein the first sub-pattern is associated with a side effect, andconstructing the additional sub-pattern comprises constructing theadditional sub-pattern to abate the side effect.
 19. The method of claim18, wherein constructing the first sub-pattern and constructing theadditional sub-pattern comprise constructing the first and secondsub-patterns to include identical fields selected from the plurality offields.
 20. The method of claim 18, wherein constructing the firstsub-pattern and constructing the additional sub-pattern compriseconstructing the first and second sub-patterns to include differentfields selected from the plurality of fields.